package com.winhxd.b2c.customer.service;

import com.winhxd.b2c.common.domain.PagedList;
import com.winhxd.b2c.common.domain.customer.condition.DistributorChannelCondition;
import com.winhxd.b2c.common.domain.customer.condition.DistributorChannelTypeCondition;
import com.winhxd.b2c.common.domain.customer.vo.CustomerDistributorChannelTypeVO;
import com.winhxd.b2c.common.domain.customer.vo.CustomerDistributorTypeAndChannelVO;

import java.util.List;

/**
 * @author  zhaoyanbiao
 * @Description: 分销商渠道业务
 * @date 2019.01.07 15.00
 */
public interface DistributorChannelService {

    /**
     * 分销商渠道列表查询
     * @param distributorCondition
     * @return
     */
    PagedList<CustomerDistributorChannelTypeVO> findCustomerDistribtorChannelTypeList(DistributorChannelTypeCondition distributorCondition);

    /**
     * 更新分销商渠道类型状态
     * @param condition
     * @return
     */
    Boolean modifyDistriButorType(DistributorChannelTypeCondition condition);

    /**
     * 新增分销商渠道
     * @param channelCondition
     * @return
     */
    Boolean saveDistriButorChannel(DistributorChannelCondition channelCondition);

    /**
     * 根据主键查询分销商渠道类型以及级层级信息
     * @param id
     * @return
     */
    CustomerDistributorTypeAndChannelVO getDistributerChannelLevelById(Long id);

    /**
     * @param
     * @return
     * @author zhaoyanbiao
     * @date 2019年1月9日11:43:07
     * @Description 查询所有的分销商渠道类型列表
     */
    List<CustomerDistributorChannelTypeVO> findDistributerChannelTypeList(DistributorChannelTypeCondition condition);

}
